package org.example.session;

import org.dom4j.DocumentException;
import org.example.dto.SqlData;

import java.beans.PropertyVetoException;
import java.util.List;

public interface Session {

    <E>List<E> selectList(SqlData sqlData,Object ...params) throws Exception;

    <E> E select(SqlData sqlData,Object ...params) throws Exception;

    <E> E insert(SqlData sqlData,Object ...params) throws Exception;

    <E> E update(SqlData sqlData,Object ...params) throws Exception;

    <E> E delete(SqlData sqlData,Object ...params) throws Exception;

    <T> T getMapper(Class<?> mapperType) throws PropertyVetoException, DocumentException;
}
